package com.wkbb.sports.exception;

import lombok.Getter;

/**
 * @author: lbh
 * @date: 2018/10/15 15:16
 * @description: 业务校验返回的错误码枚举类
 */
@Getter
public enum ResultEnum {

    /*作业*/
    PROJECT_ID_IS_NULL(3001, "项目id不能为空"),
    PROJECT_NAME_IS_NULL(3002, "项目名称不能为空"),
    ORG_ID_IS_NULL(3003, "学校id不能为空"),
    GRADE_ID_IS_NULL(3004, "年级id不能为空"),
    GRADE_NAME_IS_NULL(3005, "年级名称不能为空"),
    CLASS_ID_IS_NULL(3006, "班级id不能为空"),
    CLASS_NAME_IS_NULL(3007, "班级名称不能为空"),
    DATE_FORMAT_IS_ERROR(3009, "日期格式错误"),
    RULE_ID_IS_NULL(3010, "关联作业规则ID不能为空"),
    STATUS_IS_ILLEGAL(3011, "作业状态不能为空，且值只能为：(0未开始 1进行中2已结束3已取消)"),
    STUDENT_ID_LIST_IS_NULL(3012, "请至少选择一个学生"),
    WORK_REMARK_IS_TOO_LONG(3013, "作业备注不允许超过100个字！"),
    END_DATE_MUST_LAGGER_BEGIN_DATE(3014, "结束时间必须要大于开始时间！"),

    /*作业要求*/
    PROJECT_TYPE_IS_ILLEGAL(3015, "项目类型不能为空，且值只能为：1体检，2体质"),
    PROJECT_RULE_ID_IS_NULL(3016, "评分标准ID不能为空"),
    TEACHER_ID_IS_NULL(3017, "教师ID不能为空"),
    MODEL_TYPE_IS_ILLEGAL(3018, "作业模式不能为空，且值只能为：1模拟考试/2限时限数/3数量模式/4时间模式"),
    SEX_IS_ILLEGAL(3019, "性别不能为空，且值只能为：1男/2女/3不限/4区分男女"),
    DURATION_IS_NULL(3020, "作业为限时模式时，时长字段值为整数且不能为空"),
    NUMBER_IS_NULL(3020, "作业要求数量时，次数字段值为整数且不能为空"),
    BOY_DURATION_IS_NULL(3021, "作业要求时长且区分男女时，男生时长字段值为整数且不能为空"),
    GIRL_DURATION_IS_NULL(3022, "作业要求时长且区分男女时，女生时长字段值为整数且不能为空"),
    BOY_NUMBER_IS_NULL(3021, "作业要求数量且区分男女时，男生次数字段值为整数且不能为空"),
    GIRL_NUMBER_IS_NULL(3022, "作业要求数量且区分男女时，女生次数字段值为整数且不能为空"),
    UNIT_IS_NULL(3023, "作业要求时长时，单位值为整数且不能为空，且3分/4秒"),
    WORK_ID_IS_NULL(3024, "作业ID不能为空"),
    WORK_IS_NOT_ALLOW_DELETE(3025, "该作业已经有学生在做，不允许删除！"),
    BEGIN_DATE_MUST_LAGGER_NOW_DATE(3026, "开始时间必须要大于当前系统时间！"),
    STUDENT_ID_IS_NULL(3027, "学生ID不能为空"),
    WORK_ALERT_IS_OUT_OF_THE_LARGEST_LIMIT(3028, "该作业提醒次数已超过最大次数上限"),
    WORK_ALERT_IS_LESS_INTERVAL(3029, "该作业提醒过于频繁，两次催促之间请至少间隔一个小时！"),
    WORK_STUDENT_ID_IS_NULL(3030, "作业历史ID不能为空"),
    SPORTS_TYPE_IS_ILLEGAL(3031, "项目类型值非法(1-一分钟跳绳(默认)，2-800米，3-1000米，4-50米，5-50米*8往返跑，6-立定跳远，7引体向上)"),
    STUDENT_NO_IS_NULL(3032, "学生学号不能为空"),
    STUDENT_PRACTICE_ATTCAHMENT_IS_NULL(3033, "学生练习成绩不能为空"),
    STUDENT_PRACTICE_ACTUAL_TIME_IS_NULL(3034, "学生练习实际时长不能为空"),
    SEX1_IS_ILLEGAL(3035, "性别值非法，只能为：1男/2女"),
    REACHED_IS_ILLEGAL(3036, "达标值非法，只能为：(0未达标,1已达标)"),
    GRADE_NAME_IS_ILLEGAL(3037, "年级名称非法，只能为：一年级/二年级/三年级/四年级/五年级/六年级/七年级/八年级/九年级/十年级/十一年级/十二年级"),

    ;



    private Integer code;
    private String message;

    ResultEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }


    /**
     * @author: lbh
     * @date: 2018-10-15 16:26
     * @deprecation: 通过code返回枚举
     */
    public static ResultEnum parse(int code) {
        ResultEnum[] values = values();
        for (ResultEnum value : values) {
            if (value.getCode() == code) {
                return value;
            }
        }
        throw new RuntimeException("Unknown code of ResultEnum");
    }

}
